package com.example.wenhua.service;

/**
 * SQL生成服务接口
 */
public interface SqlGeneratorService {
    
    /**
     * 验证SQL语句的安全性
     * 
     * @param sql SQL语句
     * @return 是否安全
     */
    boolean validateSqlSafety(String sql);
    
    /**
     * 清理和标准化SQL语句
     * 
     * @param sql 原始SQL语句
     * @return 清理后的SQL语句
     */
    String sanitizeSql(String sql);
    
    /**
     * 检查SQL是否为查询语句
     * 
     * @param sql SQL语句
     * @return 是否为查询语句
     */
    boolean isSelectQuery(String sql);
    
    /**
     * 根据用户角色添加权限限制
     * 
     * @param sql 原始SQL
     * @param userRole 用户角色
     * @param userId 用户ID
     * @return 添加权限限制后的SQL
     */
    String addRoleBasedRestrictions(String sql, Integer userRole, String userId);
}